package com.smartleanx.module.hrm.dal.dataobject.dingDing;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author mybatis-plus
 * @since 2024-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("system_attendance_team")
public class SystemAttendanceTeam extends Model<SystemAttendanceTeam> {


    private static final long serialVersionUID = 1L;

    private Integer id;

    private String name;

    private Integer tenantId;

    private String workDataTime;

    private Integer teamNum;

    private String type;

    private String url;

    /**
     * 1、迟到分钟 2、迟到次数 3、固定金额
     */
    private Integer lateRulesType;


    private Integer lateMinute;
    /**
     * 扣多少钱
     */
    private Integer lateAmount;

    /**
     * 1、早退分钟 2、早退次数 3、固定金额
     */
    private Integer leaveEarlyRulesType;

    private Integer leaveEarlyMinute;

    /**
     * 扣多少钱
     */
    private Integer leaveEarlyAmount;

    /**
     * 1、按照旷工天数 2、按照基本工资比例
     */
    private Integer absenteeRulesType;

    /**
     * 比例/金额
     */
    private Integer absenteeAmount;

    /**
     * 1按照缺卡次数
     */
    private Integer missingCardRules;

    /**
     * 缺卡每次扣多少钱
     */
    private Integer missingCardNum;

    /**
     * 适用人员   存放emp id   不做前端展示
     */
    private String adaptPerson;
    /**
     * 适用人员-用户id   存放 userId 需要返回给前端 回显
     */
    private String adaptPersonUser;
    /**
     * 适用人员-名字   存放 员工姓名 需要返回给前端 回显
     */
    private String adaptPersonName;
    /**
     * 工作时长
     */
    private Float workDate;


    @TableField(exist = false)
    private List<String> adaptPersonUserList;
    @TableField(exist = false)
    private List<String> adaptPersonNameList;

    @TableField(exist = false)
    private List<AdaptPersonDo> adaptPersonDoList;

    @Data
    public class AdaptPersonDo{
        private Integer employeeId;

        private String employeeName;
    }

}



